/**
 * 一般情况下，权限控制由界面和接口两部分组成
 * 大多数应用是不需要界面控制权限的，只需要实现接口控制即可
 * 功能待完善
 */

// const router = ['/pages/index/index', '/pages/test/test']

export default {
	debug: false,
	
	push(url){
		uni.navigateTo({
			url,
			success: res => {
				if(this.debug) console.log('路由成功: ', res)
			},
			fail: res => {
				if(this.debug) console.log('路由失败: ', err)
			}
		})
	},
	
	switchTab(url) {
		uni.switchTab({
			url,
			success: res => {
				if(this.debug) console.log('路由成功: ', res)
			},
			fail: res => {
				if(this.debug) console.log('路由失败: ', err)
			}
		})
	},
	
	reLaunch(url) {
		uni.reLaunch({
			url,
			success: res => {
				if(this.debug) console.log('路由成功: ', res)
			},
			fail: res => {
				if(this.debug) console.log('路由失败: ', err)
			}
		})
	},
	
	replace(url){
		uni.redirectTo({
			url,
			success: res => {
				if(this.debug) console.log('路由成功: ', res)
			},
			fail: res => {
				if(this.debug) console.log('路由失败: ', err)
			}
		})
	},
	
	back(delta) {
		uni.navigateBack({
			delta
		})
	}
}


uni.addInterceptor('navigateTo', {
	invoke(args) {
		console.log('路由跳转: ' + args.url)
		// if(args.url === '/pages/login/login'){
		// 	args.url += '?from=no-index'
		// }
	},
	success(res) {
		// console.log('success: ', res)
	},
	fail(err) {
		// console.log('fail: ', err)
	},
	complete() {}
})